# 1.
# 什么是类，什么是对象
# 类是一类事物的抽象概念，不是真实存在的
# 对象是某类事物的具体个体，是该类事物的具体表现，实际存在的个体
# 类方法和成员方法区别
# 类方法需要装饰器标识，成员方法不需要
# python怎么使用随机数
# print(random.randint(数值1，数值2，数值3，数值4))
# 列表的插入有哪些？
# insert 可以通过索引位置插入单个数据
#append 在列表的末尾插入单个数据
#extend 在列表的末尾插入一个新的列表
# 列出5个常用的标准库，并说明库的作用
# math 数学库，可以调用数学函数方法和常量
# os 系统库，可以对文件和目录进行操作，获取系统信息，执行文件命令等
# Sys  命令行参数库，可以传参数到py文件中
#Datetime  日期库可以获取日期信息，转换日期格式
#Time  时间操作库，等待一段时间调用 time.sleep(a),暂停a秒后继续运行
# Randow  随机库，可以生成一个随机数，常用randint(a,b)随机返回一个在a到b中的整数。
#Re  正则表达库，用来查找提取字符串
# 什么是python装饰器，常用的装饰器有哪些
# @classmethod
# python怎么连接数据库，查询数据，写下大致流程
#连接数据库：首先用import命令导入数据库，如何输入
# 8.
# 明星的魅力值
listA = [{"名字": "王大锤", "魅力值": 60},
         {"名字": "王宝强", "魅力值": 50},
         {"名字": "蔡徐坤", "魅力值": 80},
         {"名字": "王心凌", "魅力值": 90}]
# 打印 王宝强的魅力值
print(listA[1]['魅力值'])
# 修改 蔡徐坤的魅力值 为 70
listA[2]['魅力值']='70'
print(listA)
# 循环打印 所有 明星的魅力值
for n in listA:
    print(n['魅力值'])
# # 求魅力值的平均数
a = 0
b = 0
for h in listA:
    a += h['魅力值']
    b = a/len(listA)
print(b)
# 9.定义一个类(Person):
# 包含属性 姓名`name`, 年龄`age`
# 包含方法:
#    1. 吃的方法`eat`,要求有一个参数food， 在方法中输出`xx 吃 food`, xx 为人的名字，
#    food为字符串类型，指具体的食物
#    2. 睡觉的方法`sleep`, 在方法输出`xx 睡觉`, xx 为人的具体的名字
#    3.  `task` 在方法输出 `xx的任务`
# 定义两个类
# 定义一个类Teacher，继承Person，包含方法 `task` 在方法输出 `xx的任务是授课`
# 定义一个类Student，继承Person，包含方法 `task` 在方法输出 `xx的任务是上课`
# 生成两个对象，一个Teacher对象是  姓名 王老师 ，年龄 20岁 ，另一个Student对象是 姓名 豆豆 ，年龄 18岁
# 分别调用 eat sleep task 的方法
class Person:
   def __init__(self,a,b):
      self.name = a
      self.age = b
   def eat(self,food):
      print(f'{self.name}吃{food}')
   def sleep(self):
      print(f'{self.name}睡觉')
   def task(self):
      print(f'{self.name}的任务')
# 定义两个类
# 定义一个类Teacher，继承Person，包含方法 `task` 在方法输出 `xx的任务是授课`
# 定义一个类Student，继承Person，包含方法 `task` 在方法输出 `xx的任务是上课`
# 生成两个对象，一个Teacher对象是  姓名 王老师 ，年龄 20岁 ，另一个Student对象是 姓名 豆豆 ，年龄 18岁
# 分别调用 eat sleep task 的方法
class teacher(Person):
   def task(self):
      print(f'{self.name}的任务是授课')
class student(Person):
   def task(self):
      print(f'{self.name}的任务是上课')
a1 = Person('蜘蛛侠',18)
a1.eat('汉堡')
a1.sleep()
a1.task()
a2 = teacher('王老师',20)
a2.task()
a3 = student('豆豆',18)
a3.task()

